package com.example.blog.modules.article.service;

import com.example.blog.modules.article.dto.CommentDTO;
import com.example.blog.modules.article.dto.CommentRequest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface CommentService {
    CommentDTO createComment(CommentRequest request);
    void deleteComment(Long id);
    CommentDTO getComment(Long id);
    Page<CommentDTO> getArticleComments(Long articleId, Pageable pageable);
    List<CommentDTO> getCommentReplies(Long commentId);
    void incrementLikeCount(Long id);
    void decrementLikeCount(Long id);
    void approveComment(Long id);
    long getApprovedCommentCount(Long articleId);
} 